﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using BusinessLayer;
using DataObjects;
using System.Data;
namespace ControleCaixa
{
    public partial class viewUsuario : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {
            if (!IsPostBack)
                gridUsuario.DataBind();
        }

        protected void btnPesquisa_Click(object sender, EventArgs e)
        {

            consulta();
        }
        public void consulta()
        {
            UsuarioBL _usuarioBL = new UsuarioBL();
            List<Usuario> _listUsuario = _usuarioBL.Consultar(txtUsuario.Text);
            gridUsuario.DataSource = convertdataTable(_listUsuario);
            gridUsuario.DataBind();
        }

        public DataTable convertdataTable(List<Usuario> listUsuario)
        {
            DataTable data = new DataTable();
            data.Columns.Add("usuarioid");
            data.Columns.Add("login");
            data.Columns.Add("ultimoAcesso");
            data.Columns.Add("Ativo");
            data.Columns.Add("pessoa");
            data.Columns.Add("filial");


            DataRow row;
            foreach (Usuario usuario in listUsuario)
            {
                row = data.NewRow();
                row["usuarioid"] = usuario.UsuarioId;
                row["ativo"] = usuario.Ativo == 0 ? "Inativo" : "Ativo";
                row["login"] = usuario.Login;
                row["ultimoAcesso"] = usuario.UltimoAcesso;
                row["pessoa"] = usuario.Pessoa.Nome;
                row["filial"] = usuario.Filial.Descricao;
                data.Rows.Add(row);
            }

            return data;

        }

        protected void imgEditar_Click(object sender, ImageClickEventArgs e)
        {
            ImageButton _imageB = (ImageButton)sender;
            Session["usuarioId"] = _imageB.CommandArgument;
            Response.Redirect("cadUsuario.aspx");

        }

        protected void imgDelete_Click(object sender, ImageClickEventArgs e)
        {
            try
            {
                ImageButton _imageB = (ImageButton)sender;
                UsuarioBL _usuarioBL = new UsuarioBL();
                _usuarioBL.Deletar(int.Parse(_imageB.CommandArgument));
                consulta();
            }
            catch (Exception ex)
            {
                mensagem.InnerHtml = "Não foi possível excluir usuario, já esta sendo utilizado.";
            }
        }


        protected void btnnovo_Click(object sender, EventArgs e)
        {
            Session["usuarioId"] = null;
            Response.Redirect("cadUsuario.aspx");


        }
    }
}